package com.wms.mapper;

import com.wms.bean.PageBean;
import com.wms.dto.*;
import com.wms.entity.StkWarehouse;
import com.wms.entity.TaskUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface AddStkByGoodsMapper {
    /**
     * 新增盘点任务（按物品）- 任务头
     */
    int addStkByGoods(@Param("task") AddStkByGoodsDTO task);

    /**
     * 插入单个盘点任务明细
     */
    int insertStkByGoodsDetail(TaskDetailDTO detail);

    /**
     * 根据物料id查询所在库区和货位id和名称
     * @param mid
     * @return
     */
    List<WareAndLocDTO> getAreaLocNameByMid(@Param("mid") int mid);


    /**
     * 统计指定货位上  物料的数量
     * @param locationId
     * @return
     */
    int setLocCount(@Param("locationId") int locationId, @Param("code") String code);

    /**
     * 批量统计并插入库区任务
     * @param taskId
     * @return
     */
    int saveSaveWareTask(@Param("taskId") int taskId);

    /**
     * 根据仓库ID查询默认盘点人ID和盘点人姓名
     */
    TaskUser queryUserByStoreId(@Param("storeId") int storeId);

    /**
     * 根据仓库ID查询该仓库下的产品信息（type=1）
     */
    List<ProductsDTO> queryProductsByStoreId(int storeId);

    /**
     * 根据仓库ID查询该仓库下的商品信息（type=2）
     */
    List<CommodityDTO> queryCommodityByStoreId(int storeId);
}
